如果說做一個網站自己卻沒支援多國語系那真的太奇怪了。
(想想也還好啦XD)
要做的話可以使用rails內建的i18n,可以將所有要顯示的文字放在同一個地方,
這樣做的好處除了支援多國語系之外,(其實目前也就英語和中文XD)
如果以後要改某個地方的文字,那就只要直接從yml檔去改一次就好了。
首先要到application.rb這隻檔案打開並更動這行,
config.i18n.default_locale = :'zh-TW
接著就可以把我們要設定的yml放進去config/locale底下,
只要照著一定的格式去建立yml檔案,在使用form_for時候會幫我們自己引用
這裡以我們現有的model舉例:
zh-TW:
attributes:
email: 聯絡信箱
password: 密碼
tel: 聯絡電話(市話)
mobile: 聯絡電話(行動)
address: 聯絡地址
link: 網址
about: 簡介
description: 敘述
tag_list: 標籤
image: 圖片
status: 狀態
status_text: 狀態
brief: 摘要
activerecord:
models:
user: 譯者
post: 文章
attributes:
user:
name: 名字
email: email
password: 密碼
post:
title: 標題
content: 內容
source: 資料來源
note: 備註
如果是要另外取出來使用的話也很簡單:
<h1><%= t('attributes.email') %></h1>
這樣就可以拿到"聯絡信箱"這個字串了,
剩下就看自己怎樣設定了,可以先上rails-i18n的github頁面把一些別人翻譯過的clone來用,
不要傻傻的一個一個打。
參考資料:
https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/zh-TW.yml
http://ihower.tw/rails3/i18n.html